The media has greatly popularized the concept of morphing by showing portrait video images of a series of individuals that appear to flow from one individual to another as if the features of each successive individual were plastically changing to become the next individual in the sequence. Several computer software programs for the personal computer such as "Morph" (from Gryphon Software Corporation) enable a user to select a series of corresponding points on two images to define a morphing transformation between the two images occurring over a predefined number of image frames. While image morphing or generating intermediate images to transform between an initial image and a final image has thus become a common feature in twodimensional (2D) graphics software packages, reliable methods for the analogous process applicable to three-dimensional (3D) shapes are not available. In the following discussion, the process of creating a single intermediate 3D shape is referred to as shape interpolation and the process of generating a sequence of intermediate shapes is referred to as shape metamorphosis, or 3D morphing ("geomorphing").
Previous approaches to 3D morphing can be divided into two general classes based on the type of solid model representation employed: parametric or implicit. Parametric models describe a solid using a collection of patches that together form the boundary of the solid and include topological information regarding patch connectivity. Since the overall patch structures of the initial and final objects need not be the same, even attempting to determine how the general patch structure should change to morph the initial object into the final object is difficult and requires significant user intervention. The second class of techniques employs implicit models to describe an object using mathematical functions whose value at a given point determines whether that point is inside, outside, or on the surface of the object. A simple "function interpolation" 3D morph is available in the implicit modeling environment whereby intermediate object shapes are generated by the functions obtained by interpolating between the implicit functions defining the initial and final objects. However, this approach to 3D morphing is clearly not applicable to other modeling environments and produces undesirable effects. For example, a simple morph of this type between two objects, each of which is connected as a single component, can produce intermediate objects that break into disjointed pieces.
From the preceding discussion, it will be apparent that a unified, automatic approach to shape interpolation and morphing in three dimensions has been missing in the art and would be of great use to designers and animators. Since the techniques used for morphing 2D shapes are not readily extensible to 3D objects, an approach more suitable for 3D objects is needed.